/****************************************************************************************************
		
		Replication file for:

		"Protection through Presence: UN Peacekeeping and the Costs of Targeting Civilians"
		Fjelde, Hanne, Lisa Hultman, and Desirée Nilsson
		International Organization
		Last updated: 9 March 2018
		
****************************************************************************************************/


/*To run the do-file you need to install the following:

*1. To generate summary statistics:
ssc install unique

*2. To generate graphs:
ssc install blindschemes, replace all

*3. To generate tables: 
ssc install outreg

*4. To use psmatch2 command: 
ssc install psmatch2

*5. To use prgen command (from Scott Long & Jeremy Freese for Stata versions post Stata 9): 
net from http://www.indiana.edu/~jslsoc/stata
net install spost9_legacy

*6. To generate substantive effects (or consult http://gking.harvard.edu for alternative ways of installing Clarify)
net from http://gking.harvard.edu/clarify/
net install clarify

*7. To use rare events logit (used in Appendix Table A9) consult https://gking.harvard.edu/relogit.
sysdir


****************************************************************************************************/


clear
use "FHN_IO_replication.dta"

tsset priogrid paneldate

***************************************************************************************************
***** CONTROL VARIABLES *****
*****************************************************************************************************

global X1 pop_log_ mnt_ ttime_log_
global X2 lsb_sum lspatiallag_dum_osv lspatiallag_troops osv_decay4
global X3 lsb_sum lspatiallag_dum_osv lspatiallag_troops osv_govpgm_decay osv_reb_decay
global X4 lsb_sum lspatiallag_dum_osv lspatiallag_troops 


************************************************
* FIGURE 1. Peacekeeping Presence and One-sided Violence
************************************************

* Map generated using a special software, cannot be replicated using Stata


************************************************
* TABLE 1. Summary Statistics
************************************************

su lsum_notroops pk_presence osv_5 osv_reb_5 osv_govpgm_5 $X1 $X2 $X3 _v1_gcppc_log excluded_du lnpkobypop p5country pkoduration ///
pk_dist_inv_mod osv3govsum osv3rebsum osv3sum pko_africa_total capdist_log instrument


************************************************
* DESCRIPTIVE STATS REPORTED IN RESEARCH DESIGN SECTION
************************************************

* Comments on data structrure
inspect pk_presence 

* How often does PKO strength vary from month to month?
gen change_pko=0
by priogrid: replace change_pko=1 if sum_notroops!=L.sum_notroops
inspect change_pko

* Commments to Figure 1
unique priogrid
unique priogrid if pk_presence==1
unique priogrid if osv_5==1
sum sum_notroops if pk_presence==1


************************************************
*	DESCRIPTIVE STATS REPORTED IN RESULTS SECTION
************************************************

gen obs=_n
* OSV in cell and first order spatial lags: how many onsets do we see?
inspect obs if ((osv_sum>0 & osv_sum!=.)| (spatiallag_sum_osv>0 & spatiallag_sum_osv!=.)) & (pk_onset==1| pk_onset1==1)
inspect obs if ((osv_sum>0 & osv_sum!=.)| (spatiallag_sum_osv>0 & spatiallag_sum_osv!=.)) & (pk_onset==1| pk_onset1==1 | pk_onset2==1 | pk_onset3==1)
inspect obs if ((osv_sum>0 & osv_sum!=.)| (spatiallag_sum_osv>0 & spatiallag_sum_osv!=.)) & (pk_onset==1| pk_onset1==1 | pk_onset2==1 | pk_onset3==1 | pk_onset4==1 | pk_onset5==1 | pk_onset6==1)

*how many locations with osv where pko never deploy?
by priogrid: egen osv_any= max(osv_sum)
by priogrid: egen pko_any= max(pk_presence)
replace osv_any=1 if osv_any>0
replace pko_any=1 if pko_any>0
unique priogrid if osv_any==1 & pko_any==0
drop osv_any pko_any


*******************************************************
* TABLE 2 (Model 1-2): Determinants of PKO presence
*******************************************************

tsset priogrid paneldate

* Model 1: OSV combined*
logit pk_onset osv3sum $X1 $X4 pk_onset_decay, nolog cl(priogrid)
outreg using tab2-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

* Model 2: OSV by rebel and government*
logit pk_onset osv3govsum osv3rebsum $X1 $X4 pk_onset_decay, nolog cl(priogrid)
outreg using tab2-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


************************************************
* FIGURE 2: Figures DRC
************************************************

set scheme plottig, permanently

gen number_peacekeepers= sum_notroops*100
list priogrid if gwno==490 & number_peacekeepers>=1200

twoway (bar number_peacekeepers paneldate, sort fcolor(gs10) lcolor(gs10) yaxis(2)) (line osv_govpgm_sum paneldate, sort lcolor(black) lpattern(dash)) (line osv_reb_sum paneldate, sort lcolor(black) lpattern(solid)) if priogrid==125692, xlabel(480(12)623) title("Kindu town, Maniema, DRC") graphregion(fcolor (gs14))
twoway (bar number_peacekeepers paneldate, sort fcolor(gs10) lcolor(gs10) yaxis(2)) (line osv_govpgm_sum paneldate, sort lcolor(black) lpattern(dash)) (line osv_reb_sum paneldate, sort lcolor(black) lpattern(solid)) if priogrid==125698, xlabel(480(12)623) title("Bukavu town, South Kivu, DRC") graphregion(fcolor (gs14))
twoway (bar number_peacekeepers paneldate, sort fcolor(gs10) lcolor(gs10) yaxis(2)) (line osv_govpgm_sum paneldate, sort lcolor(black) lpattern(dash)) (line osv_reb_sum paneldate, sort lcolor(black) lpattern(solid)) if priogrid==126418, xlabel(480(12)623) title("Kavumu town, South Kivu, DRC") graphregion(fcolor (gs14))
twoway (bar number_peacekeepers paneldate, sort fcolor(gs10) lcolor(gs10) yaxis(2)) (line osv_govpgm_sum paneldate, sort lcolor(black) lpattern(dash)) (line osv_reb_sum paneldate, sort lcolor(black) lpattern(solid)) if priogrid==130731, xlabel(480(12)623) title("Kisangani town, Tshopo, DRC") graphregion(fcolor (gs14))
twoway (bar number_peacekeepers paneldate, sort fcolor(gs10) lcolor(gs10) yaxis(2)) (line osv_govpgm_sum paneldate, sort lcolor(black) lpattern(dash)) (line osv_reb_sum paneldate, sort lcolor(black) lpattern(solid)) if priogrid==130739, xlabel(480(12)623) title("Beni Town, Beni, DRC") graphregion(fcolor (gs14))
twoway (bar number_peacekeepers paneldate, sort fcolor(gs10) lcolor(gs10) yaxis(2)) (line osv_govpgm_sum paneldate, sort lcolor(black) lpattern(dash)) (line osv_reb_sum paneldate, sort lcolor(black) lpattern(solid)) if priogrid==132181, xlabel(480(12)623) title("Bunia Town, Ituri, DRC") graphregion(fcolor (gs14))

* NB: In Figure 2 the x-axis reports years (rather than paneldates); paneldate 480=January 2000

 
*******************************************************
* TABLE 3 (Model 3-7): Effect of peacekeeping troops on the risk of one-sided violence, logit models
*******************************************************

tsset priogrid paneldate

* Model 3: with basic controls
logit osv_5 lsum_notroops $X1 $X2, nolog cl(priogrid)
outreg using tab3-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard  errors in parentheses clustered on cell.) replace

* Model 4: with basic controls - reb.
logit osv_reb_5 lsum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tab3-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard  errors in parentheses clustered on cell.) merge

* Model 5: with basic controls - gov.
logit osv_govpgm_5 lsum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tab3-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard  errors in parentheses clustered on cell.) merge

* Model 6: with change, reb
logit osv_reb_5 lsum_notroops $X1 $X3 osvreb_change, nolog cl(priogrid)
outreg using tab3-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard  errors in parentheses clustered on cell.) merge

* Model 7: with change, gov
logit osv_govpgm_5 lsum_notroops $X1 $X3 osvgov_change, nolog cl(priogrid)
outreg using tab3-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard  errors in parentheses clustered on cell.) merge


************************************************
* FIGURE 3: Predicted Probabilities of One-Sided Violence as Peacekeeping Troops Changes
************************************************

set scheme plottig, permanently

logit osv_reb_5 lsum_notroops $X1 $X3, nolog cl(priogrid)

prgen lsum_notroops, from(0) to(55) generate (ptr) x(lspatiallag_dum_osv=1 osv_reb_decay=0.5 osv_govpgm_decay=0.5) rest(mean) gap(1) ci

label var ptrp1 "Predicted probability"
label var ptrp1ub "95% upper limit"
label var ptrp1lb "95% lower limit"
label var ptrx "Troops in hundreds"

graph twoway (histogram lsum_notroops if lsum_notroops>0.01 , yaxis(2) bin(9) percent) ///
(connected ptrp1 ptrx, clcolor(black) clpat(solid) clwidth(medthick) msymbol(i) mcolor(none) yaxis(1) yscale(alt) yscale(alt axis(2))) ///
(connected ptrp1ub ptrx, clcolor(black) clpat(dash) clwidth(thin) msymbol(i) mcolor(none) yaxis(1) yscale(alt) yscale(alt axis(2))) ///
(connected ptrp1lb ptrx, clcolor(black) clpat(dash) clwidth(thin) msymbol(i) mcolor(none) yaxis(1) yscale(alt) yscale(alt axis(2))), ///
ytitle("Probability of OSV") ylabel(, grid glwidth(medium) glpattern(solid)) xscale(range (0 55)) xlabel (0(5)55) xtitle(Number UN Troops)

*NB: Figure 3 reports troops in absolute numbers (variable lsum_notroops is re-scaled so that one unit corresponds to 100 troops). 


***************************************************************************************
* Substantive effects for rebel violence, based on Table 3, Model 4, for high-risk scenario
***************************************************************************************

sum lsum_notroops if lsum_notroops!=0, detail

estsimp logit osv_reb_5 lsum_notroops $X1 $X3, nolog cl(priogrid)

setx pop_log_ mean mnt_ 0.4 ttime_log_ 2 lsb_sum 50  lspatiallag_dum_osv 1 lspatiallag_troops 30 osv_reb_decay 0.5 osv_govpgm_decay 0
setx lsum_notroops 0
simqi, pr

setx pop_log_ mean mnt_ 0.4 ttime_log_ 2 lsb_sum 50  lspatiallag_dum_osv 1 lspatiallag_troops 30 osv_reb_decay 0.5 osv_govpgm_decay 0
setx lsum_notroops 15
simqi, pr

setx pop_log_ mean mnt_ 0.4 ttime_log_ 2 lsb_sum 50  lspatiallag_dum_osv 1 lspatiallag_troops 30 osv_reb_decay 0.5 osv_govpgm_decay 0
setx lsum_notroops 30
simqi, pr


*******************************************************
* TABLE 4 (Model 8-9) & FIGURE 4: Results Propensity Score Matching 
*******************************************************

sort priogrid paneldate

set seed 123456
gen random = runiform()
sort random

set scheme plotplainblind, permanently

* FIGURE 4*

psmatch2 pk_presence ivorycoast liberia sierraleone car chad drc burundi sudan southsudan predeployment_osv predeployment_cw $X1, out(osv_5) 

* graph balance scores
pstest ivorycoast liberia sierraleone car chad drc burundi sudan southsudan predeployment_osv predeployment_cw $X1, both t(pk_presence) graph


* Model 8 Reb OSV* 
logit osv_reb_5 lsum_notroops $X1 $X3 [fweight=_weight], cl(priogrid) nolog
outreg using tab4-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard  errors in parentheses clustered on cell.) replace

* observations retained*
tab osv_reb_5
tab osv_reb_5 if e(sample)

tab pk_presence
tab pk_presence if e(sample)


* Model 9 Gov OSV* 
logit osv_govpgm_5 lsum_notroops $X1 $X3 [fweight=_weight], cl(priogrid) nolog
outreg using tab4-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard  errors in parentheses clustered on cell.) merge

* observations retained*
tab osv_govpgm_5
tab osv_govpgm_5 if e(sample)

tab pk_presence
tab pk_presence if e(sample)


***************************************************************************************
* TABLE 5 (Model 10 and 11): Recursive bivariat probit model  biprobit (Y2 = X1 X2 X3) (Y1 = Y2 X1 X2), robust
***************************************************************************************
sort priogrid paneldate

* Model 10*
biprobit (pk_presence= instrument pko_africa_total capdist_log $X1 $X3 ) (osv_reb_5=pk_presence $X1 $X3 ), nolog cl(priogrid)
outreg using tab5-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

* Model 11*
biprobit (pk_presence= instrument pko_africa_total capdist_log $X1 $X3 ) (osv_govpgm_5=pk_presence $X1 $X3 ), nolog cl(priogrid)
outreg using tab5-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX: Table A1-A10, Robustness
***************************************************************************************
 
tsset priogrid paneldate

***************************************************************************************
* APPENDIX TABLE A1: List of missions
***************************************************************************************

* See paper

***************************************************************************************
* APPENDIX TABLE A2a: Summary statistics with and without peacekeeping deployment*
***************************************************************************************

* Check balance between those that see deployment of PKO and those that do not
logit osv_5 lsum_notroops $X1 $X2, nolog cl(priogrid)

su  $X1 $X2 $X4 if  pk_presence==0 & e(sample)
su  $X1 $X2 $X4 if  pk_presence==1 & e(sample)


***************************************************************************************
* APPENDIX TABLE A2b: Deployment onset*
***************************************************************************************

* Model 1: Deployment patterns, country fixed effects*
logit pk_onset osv3govsum osv3rebsum $X1 $X4 pk_onset_decay i.gwno , nolog cl(priogrid)
outreg using tabA2b-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

* Model 2: Adding predeployment_osv predeployment_cw
logit pk_onset osv3govsum osv3rebsum predeployment_osv predeployment_cw $X1 $X4 pk_onset_decay, nolog cl(priogrid)
outreg using tabA2b-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX TABLE A3: Deployment presence*
***************************************************************************************

*Model 3: PK presence instead of PK onset, OSV 
logit pk_presence osv3sum predeployment_osv predeployment_cw $X1 $X4 l.pk_presence, nolog cl(priogrid)
outreg using tabA3-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

*Model 4: PK presence instead of PK onset, OSV by gov and reb
logit pk_presence osv3govsum osv3rebsum predeployment_osv predeployment_cw $X1 $X4 l.pk_presence, nolog cl(priogrid)
outreg using tabA3-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX TABLE A4: Alternative measures change
***************************************************************************************

* Model 1: with change_pr, reb
logit osv_reb_5 lsum_notroops $X1 $X3 osvreb_change_pr, nolog cl(priogrid)
outreg using tab4A-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

* Model 2: with change_pr, gov
logit osv_govpgm_5 lsum_notroops $X1 $X3 osvgov_change_pr, nolog cl(priogrid)
outreg using tabA4-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX TABLE A5: Thresholds in our independent variables
***************************************************************************************

* for the rebel side
logit osv_reb_5 lpk_high300 l.pk_presence $X1 $X3, nolog cl(priogrid)

logit osv_reb_5 lpk_high400 l.pk_presence $X1 $X3, nolog cl(priogrid)
outreg using tabA5-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

logit osv_reb_5 l.pk_presence $X1 $X3, nolog cl(priogrid)


***************************************************************************************
* APPENDIX TABLE A6: Displacement of violence
***************************************************************************************

* Model 1: with inverted distance 
logit osv_reb_5 lsum_notroops $X1 lsb_sum lspatiallag_dum_osv osv_govpgm_decay osv_reb_decay l.pk_dist_inv_mod, nolog cl(priogrid)
outreg using tabA6-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

* Model 2: do troops in neighboring cells increase the risk of violence at a location, given that no peacekeepers are present? (for rebels)
logit osv_reb_5 $X1 $X3 if pk_presence==0, nolog cl(priogrid)
outreg using tabA6-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge

* Model 3: do troops at a location increase the risk of violence in any neighboring cell? (t-1)
logit spatiallag_dum_osv lsum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tabA6-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge

* Model 4: do troops at a location increase the risk of violence in any neighboring cell? (t-2)
logit spatiallag_dum_osv L2.sum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tabA6-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************

*From here comes Additional Robustness section in manuscript

***************************************************************************************
* APPENDIX TABLE A7: Cell and year fixed effects  
***************************************************************************************

* Model 1: cell fixed effects
xtlogit osv_reb_5 lsum_notroops $X1 $X3, fe
outreg using tabA7-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

* Model 2: country fixed effects
logit osv_reb_5 lsum_notroops $X1 $X3 i.gwno, cl(priogrid)
outreg using tabA7-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge

* *Model 3: time since overall protection mandate
logit osv_reb_5 lsum_notroops $X1 $X3 timesince, cl(priogrid)
outreg using tabA7-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX TABLE A8: Additional control variables: peackeeping controls, gcppc and excluded, diamonds and oil + rebel and state strength*
***************************************************************************************

sort gwno priogrid paneldate
by gwno: egen oil_country=max(petroleum_s)

sort priogrid paneldate
gen lnmilper= ln(milper)

gen trooprebstrength=lsum_notroops*rebstrength_cont_max
gen troopgovstrength=lsum_notroops*lnmilper

* Model 1: with mission specific controls
logit osv_reb_5 lsum_notroops $X1 $X3 l.lnpkobypop l.p5country pkoduration, nolog cl(priogrid)
outreg using tabA8-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

logit osv_reb_5 lsum_notroops $X1 $X3 l.lnpkobypop l.p5country pkoduration, nolog cl(gwno)
logit osv_reb_5 lsum_notroops $X1 $X3 l.country_missiontotal l.p5country pkoduration, nolog cl(priogrid)

* Model 2: with gcppc and excluded
logit osv_reb_5 lsum_notroops $X1 $X3 _v1_gcppc_log excluded_du, nolog cl(priogrid)
outreg using tabA8-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge

*Model 3: with diamonds and oil*
logit osv_reb_5 lsum_notroops diamond oil_country $X1 $X3, nolog cl(priogrid)
outreg using tabA8-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge

*Model 4: with rebel and state strength*
logit osv_reb_5 lsum_notroops rebstrength_cont_max lnmilper $X1 $X3, nolog cl(priogrid)
outreg using tabA8-IO.doc, se var starlevels(10 5 1)  sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX TABLE A9: Case control logit design and rare events logit
***************************************************************************************

clear
use "FHN_IO_replication.dta"
tsset priogrid paneldate

* Keep 50% of our zero, OSV reb
by priogrid: egen osv_reb_5_=max(osv_reb_5)
sample 50 if osv_reb_5_==0

*Model 1: Keep 50% of our zeros
tsset  priogrid paneldate
logit osv_reb_5 lsum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tabA9-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

 
clear
use "FHN_IO_replication.dta"
tsset  priogrid paneldate

*Model 2: Rare events logit, OSV reb
relogit osv_reb_5 lsum_notroops $X1 $X3, cl(priogrid)
outreg using tabA9-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX TABLE A10: Dropping more imprecise events (drops 4,6 & 7 in UCDP GED data)
***************************************************************************************

* Model 1
logit osv_reb_5_prec lsum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tabA10-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace


***************************************************************************************
* APPENDIX TABLE A11: Thresholds in our dependent variables
***************************************************************************************

*Model 1: thresholds for rebel side
logit osv_reb_dum lsum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tabA11-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace
 
*Model 2: thresholds for rebel side
logit osv_reb_10 lsum_notroops $X1 $X3, nolog cl(priogrid)
outreg using tabA11-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


***************************************************************************************
* APPENDIX TABLE 12: Security Council P5
***************************************************************************************

* Model 1: P5 
logit osv_reb_5 l.int_p5troops lsum_notroops l.p5 $X1 $X3, nolog cl(priogrid)
outreg using tabA12-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) replace

logit osv_reb_5 lsum_notroops l.p5 $X1 $X3, nolog cl(priogrid)
outreg using tabA12-IO.doc, se var starlevels(10 5 1) sigsymbols(+,*,**) note (Robust standard errors in parentheses clustered on cell.) merge


****************************************************************************************************
****************************************************************************************************
